(function(global,factory){typeof exports=="object"&&typeof module!="undefined"?factory(exports):typeof define=="function"&&define.amd?define(["exports"],factory):(global=global||self,factory(global.window=global.window||{}))})(this,function(exports){"use strict";function _defineProperties(target,props){for(var i=0;imin?(v2=v1,v1=value,t2=t1,t1=t):useDelta?v1+=value:v1=v2+(value-v2)/(t-t2)*(t1-t2)},reset=function reset(){v2=v1=useDelta?0:v1,t2=t1=0},getVelocity=function getVelocity(latestValue){var tOld=t2,vOld=v2,t=_getTime();return(latestValue||latestValue===0)&&latestValue!==v1&&update(latestValue),t1===t2||t-t2>dropToZeroTime?0:(v1+(useDelta?vOld:-vOld))/((useDelta?t:t1)-tOld)*1e3};return{update:update,reset:reset,getVelocity:getVelocity}},_getEvent=function _getEvent(e,preventDefault){return preventDefault&&!e._gsapAllow&&e.preventDefault(),e.changedTouches?e.changedTouches[0]:e},_getAbsoluteMax=function _getAbsoluteMax(a){var max=Math.max.apply(Math,a),min=Math.min.apply(Math,a);return Math.abs(max)>=Math.abs(min)?max:min},_setScrollTrigger=function _setScrollTrigger(){ScrollTrigger=gsap.core.globals().ScrollTrigger,ScrollTrigger&&ScrollTrigger.core&&_integrate()},_initCore=function _initCore(core){return gsap=core||_getGSAP(),!_coreInitted&&gsap&&typeof document!="undefined"&&document.body&&(_win=window,_doc=document,_docEl=_doc.documentElement,_body=_doc.body,_root=[_win,_doc,_docEl,_body],_clamp=gsap.utils.clamp,_context=gsap.core.context||function(){},_pointerType="onpointerenter"in _body?"pointer":"mouse",_isTouch=Observer.isTouch=_win.matchMedia&&_win.matchMedia("(hover: none), (pointer: coarse)").matches?1:"ontouchstart"in _win||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0?2:0,_eventTypes=Observer.eventTypes=("ontouchstart"in _docEl?"touchstart,touchmove,touchcancel,touchend":"onpointerdown"in _docEl?"pointerdown,pointermove,pointercancel,pointerup":"mousedown,mousemove,mouseup,mouseup").split(","),setTimeout(function(){return _startup=0},500),_setScrollTrigger(),_coreInitted=1),_coreInitted};_horizontal.op=_vertical,_scrollers.cache=0;var Observer=function(){function Observer(vars){this.init(vars)}var _proto=Observer.prototype;return _proto.init=function init(vars){_coreInitted||_initCore(gsap)||console.warn("Please gsap.registerPlugin(Observer)"),ScrollTrigger||_setScrollTrigger();var tolerance=vars.tolerance,dragMinimum=vars.dragMinimum,type=vars.type,target=vars.target,lineHeight=vars.lineHeight,debounce=vars.debounce,preventDefault=vars.preventDefault,onStop=vars.onStop,onStopDelay=vars.onStopDelay,ignore=vars.ignore,wheelSpeed=vars.wheelSpeed,event=vars.event,onDragStart=vars.onDragStart,onDragEnd=vars.onDragEnd,onDrag=vars.onDrag,onPress=vars.onPress,onRelease=vars.onRelease,onRight=vars.onRight,onLeft=vars.onLeft,onUp=vars.onUp,onDown=vars.onDown,onChangeX=vars.onChangeX,onChangeY=vars.onChangeY,onChange=vars.onChange,onToggleX=vars.onToggleX,onToggleY=vars.onToggleY,onHover=vars.onHover,onHoverEnd=vars.onHoverEnd,onMove=vars.onMove,ignoreCheck=vars.ignoreCheck,isNormalizer=vars.isNormalizer,onGestureStart=vars.onGestureStart,onGestureEnd=vars.onGestureEnd,onWheel=vars.onWheel,onEnable=vars.onEnable,onDisable=vars.onDisable,onClick=vars.onClick,scrollSpeed=vars.scrollSpeed,capture=vars.capture,allowClicks=vars.allowClicks,lockAxis=vars.lockAxis,onLockAxis=vars.onLockAxis;this.target=target=_getTarget(target)||_docEl,this.vars=vars,ignore&&(ignore=gsap.utils.toArray(ignore)),tolerance=tolerance||1e-9,dragMinimum=dragMinimum||0,wheelSpeed=wheelSpeed||1,scrollSpeed=scrollSpeed||1,type=type||"wheel,touch,pointer",debounce=debounce!==!1,lineHeight||(lineHeight=parseFloat(_win.getComputedStyle(_body).lineHeight)||22);var id,onStopDelayedCall,dragged,moved,wheeled,locked,axis,self=this,prevDeltaX=0,prevDeltaY=0,passive=vars.passive||!preventDefault,scrollFuncX=_getScrollFunc(target,_horizontal),scrollFuncY=_getScrollFunc(target,_vertical),scrollX=scrollFuncX(),scrollY=scrollFuncY(),limitToTouch=~type.indexOf("touch")&&!~type.indexOf("pointer")&&_eventTypes[0]==="pointerdown",isViewport=_isViewport(target),ownerDoc=target.ownerDocument||_doc,deltaX=[0,0,0],deltaY=[0,0,0],onClickTime=0,clickCapture=function clickCapture(){return onClickTime=_getTime()},_ignoreCheck=function _ignoreCheck(e,isPointerOrTouch){return(self.event=e)&&ignore&&~ignore.indexOf(e.target)||isPointerOrTouch&&limitToTouch&&e.pointerType!=="touch"||ignoreCheck&&ignoreCheck(e,isPointerOrTouch)},onStopFunc=function onStopFunc(){self._vx.reset(),self._vy.reset(),onStopDelayedCall.pause(),onStop&&onStop(self)},update=function update(){var dx=self.deltaX=_getAbsoluteMax(deltaX),dy=self.deltaY=_getAbsoluteMax(deltaY),changedX=Math.abs(dx)>=tolerance,changedY=Math.abs(dy)>=tolerance;onChange&&(changedX||changedY)&&onChange(self,dx,dy,deltaX,deltaY),changedX&&(onRight&&self.deltaX>0&&onRight(self),onLeft&&self.deltaX<0&&onLeft(self),onChangeX&&onChangeX(self),onToggleX&&self.deltaX<0!=prevDeltaX<0&&onToggleX(self),prevDeltaX=self.deltaX,deltaX[0]=deltaX[1]=deltaX[2]=0),changedY&&(onDown&&self.deltaY>0&&onDown(self),onUp&&self.deltaY<0&&onUp(self),onChangeY&&onChangeY(self),onToggleY&&self.deltaY<0!=prevDeltaY<0&&onToggleY(self),prevDeltaY=self.deltaY,deltaY[0]=deltaY[1]=deltaY[2]=0);if(moved||dragged)onMove&&onMove(self),dragged&&(onDrag(self),dragged=!1),moved=!1;locked&&!(locked=!1)&&onLockAxis&&onLockAxis(self),wheeled&&(onWheel(self),wheeled=!1),id=0},onDelta=function onDelta(x,y,index){deltaX[index]+=x,deltaY[index]+=y,self._vx.update(x),self._vy.update(y),debounce?id||(id=requestAnimationFrame(update)):update()},onTouchOrPointerDelta=function onTouchOrPointerDelta(x,y){lockAxis&&!axis&&(self.axis=axis=Math.abs(x)>Math.abs(y)?"x":"y",locked=!0),axis!=="y"&&(deltaX[2]+=x,self._vx.update(x,!0)),axis!=="x"&&(deltaY[2]+=y,self._vy.update(y,!0)),debounce?id||(id=requestAnimationFrame(update)):update()},_onDrag=function _onDrag(e){if(_ignoreCheck(e,1))return;e=_getEvent(e,preventDefault);var x=e.clientX,y=e.clientY,dx=x-self.x,dy=y-self.y,isDragging=self.isDragging;self.x=x,self.y=y;if(isDragging||Math.abs(self.startX-x)>=dragMinimum||Math.abs(self.startY-y)>=dragMinimum)onDrag&&(dragged=!0),isDragging||(self.isDragging=!0),onTouchOrPointerDelta(dx,dy),isDragging||onDragStart&&onDragStart(self)},_onPress=self.onPress=function(e){if(_ignoreCheck(e,1)||e&&e.button)return;self.axis=axis=null,onStopDelayedCall.pause(),self.isPressed=!0,e=_getEvent(e),prevDeltaX=prevDeltaY=0,self.startX=self.x=e.clientX,self.startY=self.y=e.clientY,self._vx.reset(),self._vy.reset(),_addListener(isNormalizer?target:ownerDoc,_eventTypes[1],_onDrag,passive,!0),self.deltaX=self.deltaY=0,onPress&&onPress(self)},_onRelease=self.onRelease=function(e){if(_ignoreCheck(e,1))return;_removeListener(isNormalizer?target:ownerDoc,_eventTypes[1],_onDrag,!0);var isTrackingDrag=!isNaN(self.y-self.startY),wasDragging=self.isDragging,isDragNotClick=wasDragging&&(Math.abs(self.x-self.startX)>3||Math.abs(self.y-self.startY)>3),eventData=_getEvent(e);!isDragNotClick&&isTrackingDrag&&(self._vx.reset(),self._vy.reset(),preventDefault&&allowClicks&&gsap.delayedCall(.08,function(){if(_getTime()-onClickTime>300&&!e.defaultPrevented)if(e.target.click)e.target.click();else if(ownerDoc.createEvent){var syntheticEvent=ownerDoc.createEvent("MouseEvents");syntheticEvent.initMouseEvent("click",!0,!0,_win,1,eventData.screenX,eventData.screenY,eventData.clientX,eventData.clientY,!1,!1,!1,!1,0,null),e.target.dispatchEvent(syntheticEvent)}})),self.isDragging=self.isGesturing=self.isPressed=!1,onStop&&wasDragging&&!isNormalizer&&onStopDelayedCall.restart(!0),onDragEnd&&wasDragging&&onDragEnd(self),onRelease&&onRelease(self,isDragNotClick)},_onGestureStart=function _onGestureStart(e){return e.touches&&e.touches.length>1&&(self.isGesturing=!0)&&onGestureStart(e,self.isDragging)},_onGestureEnd=function _onGestureEnd(){return(self.isGesturing=!1)||onGestureEnd(self)},onScroll=function onScroll(e){if(_ignoreCheck(e))return;var x=scrollFuncX(),y=scrollFuncY();onDelta((x-scrollX)*scrollSpeed,(y-scrollY)*scrollSpeed,1),scrollX=x,scrollY=y,onStop&&onStopDelayedCall.restart(!0)},_onWheel=function _onWheel(e){if(_ignoreCheck(e))return;e=_getEvent(e,preventDefault),onWheel&&(wheeled=!0);var multiplier=(e.deltaMode===1?lineHeight:e.deltaMode===2?_win.innerHeight:1)*wheelSpeed;onDelta(e.deltaX*multiplier,e.deltaY*multiplier,0),onStop&&!isNormalizer&&onStopDelayedCall.restart(!0)},_onMove=function _onMove(e){if(_ignoreCheck(e))return;var x=e.clientX,y=e.clientY,dx=x-self.x,dy=y-self.y;self.x=x,self.y=y,moved=!0,onStop&&onStopDelayedCall.restart(!0),(dx||dy)&&onTouchOrPointerDelta(dx,dy)},_onHover=function _onHover(e){self.event=e,onHover(self)},_onHoverEnd=function _onHoverEnd(e){self.event=e,onHoverEnd(self)},_onClick=function _onClick(e){return _ignoreCheck(e)||_getEvent(e,preventDefault)&&onClick(self)};onStopDelayedCall=self._dc=gsap.delayedCall(onStopDelay||.25,onStopFunc).pause(),self.deltaX=self.deltaY=0,self._vx=_getVelocityProp(0,50,!0),self._vy=_getVelocityProp(0,50,!0),self.scrollX=scrollFuncX,self.scrollY=scrollFuncY,self.isDragging=self.isGesturing=self.isPressed=!1,_context(this),self.enable=function(e){if(!self.isEnabled){_addListener(isViewport?ownerDoc:target,"scroll",_onScroll),type.indexOf("scroll")>=0&&_addListener(isViewport?ownerDoc:target,"scroll",onScroll,passive,capture),type.indexOf("wheel")>=0&&_addListener(target,"wheel",_onWheel,passive,capture);if(type.indexOf("touch")>=0&&_isTouch||type.indexOf("pointer")>=0)_addListener(target,_eventTypes[0],_onPress,passive,capture),_addListener(ownerDoc,_eventTypes[2],_onRelease),_addListener(ownerDoc,_eventTypes[3],_onRelease),allowClicks&&_addListener(target,"click",clickCapture,!0,!0),onClick&&_addListener(target,"click",_onClick),onGestureStart&&_addListener(ownerDoc,"gesturestart",_onGestureStart),onGestureEnd&&_addListener(ownerDoc,"gestureend",_onGestureEnd),onHover&&_addListener(target,_pointerType+"enter",_onHover),onHoverEnd&&_addListener(target,_pointerType+"leave",_onHoverEnd),onMove&&_addListener(target,_pointerType+"move",_onMove);self.isEnabled=!0,e&&e.type&&_onPress(e),onEnable&&onEnable(self)}return self},self.disable=function(){self.isEnabled&&(_observers.filter(function(o){return o!==self&&_isViewport(o.target)}).length||_removeListener(isViewport?ownerDoc:target,"scroll",_onScroll),self.isPressed&&(self._vx.reset(),self._vy.reset(),_removeListener(isNormalizer?target:ownerDoc,_eventTypes[1],_onDrag,!0)),_removeListener(isViewport?ownerDoc:target,"scroll",onScroll,capture),_removeListener(target,"wheel",_onWheel,capture),_removeListener(target,_eventTypes[0],_onPress,capture),_removeListener(ownerDoc,_eventTypes[2],_onRelease),_removeListener(ownerDoc,_eventTypes[3],_onRelease),_removeListener(target,"click",clickCapture,!0),_removeListener(target,"click",_onClick),_removeListener(ownerDoc,"gesturestart",_onGestureStart),_removeListener(ownerDoc,"gestureend",_onGestureEnd),_removeListener(target,_pointerType+"enter",_onHover),_removeListener(target,_pointerType+"leave",_onHoverEnd),_removeListener(target,_pointerType+"move",_onMove),self.isEnabled=self.isPressed=self.isDragging=!1,onDisable&&onDisable(self))},self.kill=self.revert=function(){self.disable();var i=_observers.indexOf(self);i>=0&&_observers.splice(i,1),_normalizer===self&&(_normalizer=0)},_observers.push(self),isNormalizer&&_isViewport(target)&&(_normalizer=self),self.enable(event)},_createClass(Observer,[{key:"velocityX",get:function get(){return this._vx.getVelocity()}},{key:"velocityY",get:function get(){return this._vy.getVelocity()}}]),Observer}();Observer.version="3.12.5",Observer.create=function(vars){return new Observer(vars)},Observer.register=_initCore,Observer.getAll=function(){return _observers.slice()},Observer.getById=function(id){return _observers.filter(function(o){return o.vars.id===id})[0]},_getGSAP()&&gsap.registerPlugin(Observer);var gsap$1,_coreInitted$1,_win$1,_doc$1,_docEl$1,_body$1,_root$1,_resizeDelay,_toArray,_clamp$1,_time2,_syncInterval,_refreshing,_pointerIsDown,_transformProp,_i,_prevWidth,_prevHeight,_autoRefresh,_sort,_suppressOverwrites,_ignoreResize,_normalizer$1,_ignoreMobileResize,_baseScreenHeight,_baseScreenWidth,_fixIOSBug,_context$1,_scrollRestoration,_div100vh,_100vh,_isReverted,_clampingMax,_limitCallbacks,_startup$1=1,_getTime$1=Date.now,_time1=_getTime$1(),_lastScrollTime=0,_enabled=0,_parseClamp=function _parseClamp(value,type,self){var clamp=_isString(value)&&(value.substr(0,6)==="clamp("||value.indexOf("max")>-1);return self["_"+type+"Clamp"]=clamp,clamp?value.substr(6,value.length-7):value},_keepClamp=function _keepClamp(value,clamp){return clamp&&(!_isString(value)||value.substr(0,6)!=="clamp(")?"clamp("+value+")":value},_rafBugFix=function _rafBugFix(){return _enabled&&requestAnimationFrame(_rafBugFix)},_pointerDownHandler=function _pointerDownHandler(){return _pointerIsDown=1},_pointerUpHandler=function _pointerUpHandler(){return _pointerIsDown=0},_passThrough=function _passThrough(v){return v},_round=function _round(value){return Math.round(value*1e5)/1e5||0},_windowExists=function _windowExists(){return typeof window!="undefined"},_getGSAP$1=function _getGSAP(){return gsap$1||_windowExists()&&(gsap$1=window.gsap)&&gsap$1.registerPlugin&&gsap$1},_isViewport$1=function _isViewport(e){return!!~_root$1.indexOf(e)},_getViewportDimension=function _getViewportDimension(dimensionProperty){return(dimensionProperty==="Height"?_100vh:_win$1["inner"+dimensionProperty])||_docEl$1["client"+dimensionProperty]||_body$1["client"+dimensionProperty]},_getBoundsFunc=function _getBoundsFunc(element){return _getProxyProp(element,"getBoundingClientRect")||(_isViewport$1(element)?function(){return _winOffsets.width=_win$1.innerWidth,_winOffsets.height=_100vh,_winOffsets}:function(){return _getBounds(element)})},_getSizeFunc=function _getSizeFunc(scroller,isViewport,_ref){var d=_ref.d,d2=_ref.d2,a=_ref.a;return(a=_getProxyProp(scroller,"getBoundingClientRect"))?function(){return a()[d]}:function(){return(isViewport?_getViewportDimension(d2):scroller["client"+d2])||0}},_getOffsetsFunc=function _getOffsetsFunc(element,isViewport){return!isViewport||~_proxies.indexOf(element)?_getBoundsFunc(element):function(){return _winOffsets}},_maxScroll=function _maxScroll(element,_ref2){var s=_ref2.s,d2=_ref2.d2,d=_ref2.d,a=_ref2.a;return Math.max(0,(s="scroll"+d2)&&(a=_getProxyProp(element,s))?a()-_getBoundsFunc(element)()[d]:_isViewport$1(element)?(_docEl$1[s]||_body$1[s])-_getViewportDimension(d2):element[s]-element["offset"+d2])},_iterateAutoRefresh=function _iterateAutoRefresh(func,events){for(var i=0;i<_autoRefresh.length;i+=3)(!events||~events.indexOf(_autoRefresh[i+1]))&&func(_autoRefresh[i],_autoRefresh[i+1],_autoRefresh[i+2])},_isString=function _isString(value){return typeof value=="string"},_isFunction=function _isFunction(value){return typeof value=="function"},_isNumber=function _isNumber(value){return typeof value=="number"},_isObject=function _isObject(value){return typeof value=="object"},_endAnimation=function _endAnimation(animation,reversed,pause){return animation&&animation.progress(reversed?0:1)&&pause&&animation.pause()},_callback=function _callback(self,func){if(self.enabled){var result=self._ctx?self._ctx.add(function(){return func(self)}):func(self);result&&result.totalTime&&(self.callbackAnimation=result)}},_abs=Math.abs,_left="left",_top="top",_right="right",_bottom="bottom",_width="width",_height="height",_Right="Right",_Left="Left",_Top="Top",_Bottom="Bottom",_padding="padding",_margin="margin",_Width="Width",_Height="Height",_px="px",_getComputedStyle=function _getComputedStyle(element){return _win$1.getComputedStyle(element)},_makePositionable=function _makePositionable(element){var position=_getComputedStyle(element).position;element.style.position=position==="absolute"||position==="fixed"?position:"relative"},_setDefaults=function _setDefaults(obj,defaults){for(var p in defaults)p in obj||(obj[p]=defaults[p]);return obj},_getBounds=function _getBounds(element,withoutTransforms){var tween=withoutTransforms&&_getComputedStyle(element)[_transformProp]!=="matrix(1, 0, 0, 1, 0, 0)"&&gsap$1.to(element,{x:0,y:0,xPercent:0,yPercent:0,rotation:0,rotationX:0,rotationY:0,scale:1,skewX:0,skewY:0}).progress(1),bounds=element.getBoundingClientRect();return tween&&tween.progress(0).kill(),bounds},_getSize=function _getSize(element,_ref3){var d2=_ref3.d2;return element["offset"+d2]||element["client"+d2]||0},_getLabelRatioArray=function _getLabelRatioArray(timeline){var a=[],labels=timeline.labels,duration=timeline.duration(),p;for(p in labels)a.push(labels[p]/duration);return a},_getClosestLabel=function _getClosestLabel(animation){return function(value){return gsap$1.utils.snap(_getLabelRatioArray(animation),value)}},_snapDirectional=function _snapDirectional(snapIncrementOrArray){var snap=gsap$1.utils.snap(snapIncrementOrArray),a=Array.isArray(snapIncrementOrArray)&&snapIncrementOrArray.slice(0).sort(function(a,b){return a-b});return a?function(value,direction,threshold){threshold===void 0&&(threshold=.001);var i;if(!direction)return snap(value);if(direction>0){value-=threshold;for(i=0;i=value)return a[i];return a[i-1]}i=a.length,value+=threshold;while(i--)if(a[i]<=value)return a[i];return a[0]}:function(value,direction,threshold){threshold===void 0&&(threshold=.001);var snapped=snap(value);return!direction||Math.abs(snapped-value)eqIndex&&(relative*=size/100),value=value.substr(0,eqIndex-1)),value=relative+(value in _keywords?_keywords[value]*size:~value.indexOf("%")?parseFloat(value)*size/100:parseFloat(value)||0)}return value},_createMarker=function _createMarker(type,name,container,direction,_ref4,offset,matchWidthEl,containerAnimation){var startColor=_ref4.startColor,endColor=_ref4.endColor,fontSize=_ref4.fontSize,indent=_ref4.indent,fontWeight=_ref4.fontWeight,e=_doc$1.createElement("div"),useFixedPosition=_isViewport$1(container)||_getProxyProp(container,"pinType")==="fixed",isScroller=type.indexOf("scroller")!==-1,parent=useFixedPosition?_body$1:container,isStart=type.indexOf("start")!==-1,color=isStart?startColor:endColor,css="border-color:"+color+";font-size:"+fontSize+";color:"+color+";font-weight:"+fontWeight+";pointer-events:none;white-space:nowrap;font-family:sans-serif,Arial;z-index:1000;padding:4px 8px;border-width:0;border-style:solid;";return css+="position:"+((isScroller||containerAnimation)&&useFixedPosition?"fixed;":"absolute;"),(isScroller||containerAnimation||!useFixedPosition)&&(css+=(direction===_vertical?_right:_bottom)+":"+(offset+parseFloat(indent))+"px;"),matchWidthEl&&(css+="box-sizing:border-box;text-align:left;width:"+matchWidthEl.offsetWidth+"px;"),e._isStart=isStart,e.setAttribute("class","gsap-marker-"+type+(name?" marker-"+name:"")),e.style.cssText=css,e.innerText=name||name===0?type+"-"+name:type,parent.children[0]?parent.insertBefore(e,parent.children[0]):parent.appendChild(e),e._offset=e["offset"+direction.op.d2],_positionMarker(e,0,direction,isStart),e},_positionMarker=function _positionMarker(marker,start,direction,flipped){var vars={display:"block"},side=direction[flipped?"os2":"p2"],oppositeSide=direction[flipped?"p2":"os2"];marker._isFlipped=flipped,vars[direction.a+"Percent"]=flipped?-100:0,vars[direction.a]=flipped?"1px":0,vars["border"+side+_Width]=1,vars["border"+oppositeSide+_Width]=0,vars[direction.p]=start+"px",gsap$1.set(marker,vars)},_triggers=[],_ids={},_rafID,_sync=function _sync(){return _getTime$1()-_lastScrollTime>34&&(_rafID||(_rafID=requestAnimationFrame(_updateAll)))},_onScroll$1=function _onScroll(){if(!_normalizer$1||!_normalizer$1.isPressed||_normalizer$1.startX>_body$1.clientWidth)_scrollers.cache++,_normalizer$1?_rafID||(_rafID=requestAnimationFrame(_updateAll)):_updateAll(),_lastScrollTime||_dispatch("scrollStart"),_lastScrollTime=_getTime$1()},_setBaseDimensions=function _setBaseDimensions(){_baseScreenWidth=_win$1.innerWidth,_baseScreenHeight=_win$1.innerHeight},_onResize=function _onResize(){_scrollers.cache++,!_refreshing&&!_ignoreResize&&!_doc$1.fullscreenElement&&!_doc$1.webkitFullscreenElement&&(!_ignoreMobileResize||_baseScreenWidth!==_win$1.innerWidth||Math.abs(_win$1.innerHeight-_baseScreenHeight)>_win$1.innerHeight*.25)&&_resizeDelay.restart(!0)},_listeners={},_emptyArray=[],_softRefresh=function _softRefresh(){return _removeListener$1(ScrollTrigger$1,"scrollEnd",_softRefresh)||_refreshAll(!0)},_dispatch=function _dispatch(type){return _listeners[type]&&_listeners[type].map(function(f){return f()})||_emptyArray},_savedStyles=[],_revertRecorded=function _revertRecorded(media){for(var i=0;i<_savedStyles.length;i+=5)if(!media||_savedStyles[i+4]&&_savedStyles[i+4].query===media)_savedStyles[i].style.cssText=_savedStyles[i+1],_savedStyles[i].getBBox&&_savedStyles[i].setAttribute("transform",_savedStyles[i+2]||""),_savedStyles[i+3].uncache=1},_revertAll=function _revertAll(kill,media){var trigger;for(_i=0;_i<_triggers.length;_i++)trigger=_triggers[_i],trigger&&(!media||trigger._ctx===media)&&(kill?trigger.kill(1):trigger.revert(!0,!0));_isReverted=!0,media&&_revertRecorded(media),media||_dispatch("revert")},_clearScrollMemory=function _clearScrollMemory(scrollRestoration,force){_scrollers.cache++,(force||!_refreshingAll)&&_scrollers.forEach(function(obj){return _isFunction(obj)&&obj.cacheID++&&(obj.rec=0)}),_isString(scrollRestoration)&&(_win$1.history.scrollRestoration=_scrollRestoration=scrollRestoration)},_refreshingAll,_refreshID=0,_queueRefreshID,_queueRefreshAll=function _queueRefreshAll(){if(_queueRefreshID!==_refreshID){var id=_queueRefreshID=_refreshID;requestAnimationFrame(function(){return id===_refreshID&&_refreshAll(!0)})}},_refresh100vh=function _refresh100vh(){_body$1.appendChild(_div100vh),_100vh=!_normalizer$1&&_div100vh.offsetHeight||_win$1.innerHeight,_body$1.removeChild(_div100vh)},_hideAllMarkers=function _hideAllMarkers(hide){return _toArray(".gsap-marker-start, .gsap-marker-end, .gsap-marker-scroller-start, .gsap-marker-scroller-end").forEach(function(el){return el.style.display=hide?"none":"block"})},_refreshAll=function _refreshAll(force,skipRevert){if(_lastScrollTime&&!force&&!_isReverted){_addListener$1(ScrollTrigger$1,"scrollEnd",_softRefresh);return}_refresh100vh(),_refreshingAll=ScrollTrigger$1.isRefreshing=!0,_scrollers.forEach(function(obj){return _isFunction(obj)&&++obj.cacheID&&(obj.rec=obj())});var refreshInits=_dispatch("refreshInit");_sort&&ScrollTrigger$1.sort(),skipRevert||_revertAll(),_scrollers.forEach(function(obj){_isFunction(obj)&&(obj.smooth&&(obj.target.style.scrollBehavior="auto"),obj(0))}),_triggers.slice(0).forEach(function(t){return t.refresh()}),_isReverted=!1,_triggers.forEach(function(t){if(t._subPinOffset&&t.pin){var prop=t.vars.horizontal?"offsetWidth":"offsetHeight",original=t.pin[prop];t.revert(!0,1),t.adjustPinSpacing(t.pin[prop]-original),t.refresh()}}),_clampingMax=1,_hideAllMarkers(!0),_triggers.forEach(function(t){var max=_maxScroll(t.scroller,t._dir),endClamp=t.vars.end==="max"||t._endClamp&&t.end>max,startClamp=t._startClamp&&t.start>=max;(endClamp||startClamp)&&t.setPositions(startClamp?max-1:t.start,endClamp?Math.max(startClamp?max:t.start+1,max):t.end,!0)}),_hideAllMarkers(!1),_clampingMax=0,refreshInits.forEach(function(result){return result&&result.render&&result.render(-1)}),_scrollers.forEach(function(obj){_isFunction(obj)&&(obj.smooth&&requestAnimationFrame(function(){return obj.target.style.scrollBehavior="smooth"}),obj.rec&&obj(obj.rec))}),_clearScrollMemory(_scrollRestoration,1),_resizeDelay.pause(),_refreshID++,_refreshingAll=2,_updateAll(2),_triggers.forEach(function(t){return _isFunction(t.vars.onRefresh)&&t.vars.onRefresh(t)}),_refreshingAll=ScrollTrigger$1.isRefreshing=!1,_dispatch("refresh")},_lastScroll=0,_direction=1,_primary,_updateAll=function _updateAll(force){if(force===2||!_refreshingAll&&!_isReverted){ScrollTrigger$1.isUpdating=!0,_primary&&_primary.update(0);var l=_triggers.length,time=_getTime$1(),recordVelocity=time-_time1>=50,scroll=l&&_triggers[0].scroll();_direction=_lastScroll>scroll?-1:1,_refreshingAll||(_lastScroll=scroll),recordVelocity&&(_lastScrollTime&&!_pointerIsDown&&time-_lastScrollTime>200&&(_lastScrollTime=0,_dispatch("scrollEnd")),_time2=_time1,_time1=time);if(_direction<0){_i=l;while(_i-->0)_triggers[_i]&&_triggers[_i].update(0,recordVelocity);_direction=1}else for(_i=0;_i20),scrollerSize-=scrollerSize-globalOffset}else containerAnimation&&(value=gsap$1.utils.mapRange(containerAnimation.scrollTrigger.start,containerAnimation.scrollTrigger.end,0,scrollerMax,value)),markerScroller&&_positionMarker(markerScroller,scrollerSize,direction,!0);clampZeroProp&&(self[clampZeroProp]=value||-0.001,value<0&&(value=0));if(marker){var position=value+scrollerSize,isStart=marker._isStart;p1="scroll"+direction.d2,_positionMarker(marker,position,direction,isStart&&position>20||!isStart&&(useFixedPosition?Math.max(_body$1[p1],_docEl$1[p1]):marker.parentNode[p1])<=position+1),useFixedPosition&&(scrollerBounds=_getBounds(markerScroller),useFixedPosition&&(marker.style[direction.op.p]=scrollerBounds[direction.op.p]-direction.op.m-marker._offset+_px))}return containerAnimation&&element&&(p1=_getBounds(element),containerAnimation.seek(scrollerMax),p2=_getBounds(element),containerAnimation._caScrollDist=p1[direction.p]-p2[direction.p],value=value/containerAnimation._caScrollDist*scrollerMax),containerAnimation&&containerAnimation.seek(time),containerAnimation?value:Math.round(value)},_prefixExp=/(webkit|moz|length|cssText|inset)/i,_reparent=function _reparent(element,parent,top,left){if(element.parentNode!==parent){var style=element.style,p,cs;if(parent===_body$1){element._stOrig=style.cssText,cs=_getComputedStyle(element);for(p in cs)!+p&&!_prefixExp.test(p)&&cs[p]&&typeof style[p]=="string"&&p!=="0"&&(style[p]=cs[p]);style.top=top,style.left=left}else style.cssText=element._stOrig;gsap$1.core.getCache(element).uncache=1,parent.appendChild(element)}},_interruptionTracker=function _interruptionTracker(getValueFunc,initialValue,onInterrupt){var last1=initialValue,last2=last1;return function(value){var current=Math.round(getValueFunc());return current!==last1&¤t!==last2&&Math.abs(current-last1)>3&&Math.abs(current-last2)>3&&(value=current,onInterrupt&&onInterrupt()),last2=last1,last1=value,value}},_shiftMarker=function _shiftMarker(marker,direction,value){var vars={};vars[direction.p]="+="+value,gsap$1.set(marker,vars)},_getTweenCreator=function _getTweenCreator(scroller,direction){var getScroll=_getScrollFunc(scroller,direction),prop="_scroll"+direction.p2,getTween=function getTween(scrollTo,vars,initialValue,change1,change2){var tween=getTween.tween,onComplete=vars.onComplete,modifiers={};initialValue=initialValue||getScroll();var checkForInterruption=_interruptionTracker(getScroll,initialValue,function(){tween.kill(),getTween.tween=0});return change2=change1&&change2||0,change1=change1||scrollTo-initialValue,tween&&tween.kill(),vars[prop]=scrollTo,vars.inherit=!1,vars.modifiers=modifiers,modifiers[prop]=function(){return checkForInterruption(initialValue+change1*tween.ratio+change2*tween.ratio*tween.ratio)},vars.onUpdate=function(){_scrollers.cache++,getTween.tween&&_updateAll()},vars.onComplete=function(){getTween.tween=0,onComplete&&onComplete.call(tween)},tween=getTween.tween=gsap$1.to(scroller,vars),tween};return scroller[prop]=getScroll,getScroll.wheelHandler=function(){return getTween.tween&&getTween.tween.kill()&&(getTween.tween=0)},_addListener$1(scroller,"wheel",getScroll.wheelHandler),ScrollTrigger$1.isTouch&&_addListener$1(scroller,"touchmove",getScroll.wheelHandler),getTween},ScrollTrigger$1=function(){function ScrollTrigger(vars,animation){_coreInitted$1||ScrollTrigger.register(gsap$1)||console.warn("Please gsap.registerPlugin(ScrollTrigger)"),_context$1(this),this.init(vars,animation)}var _proto=ScrollTrigger.prototype;return _proto.init=function init(vars,animation){this.progress=this.start=0,this.vars&&this.kill(!0,!0);if(!_enabled){this.update=this.refresh=this.kill=_passThrough;return}vars=_setDefaults(_isString(vars)||_isNumber(vars)||vars.nodeType?{trigger:vars}:vars,_defaults);var _vars=vars,onUpdate=_vars.onUpdate,toggleClass=_vars.toggleClass,id=_vars.id,onToggle=_vars.onToggle,onRefresh=_vars.onRefresh,scrub=_vars.scrub,trigger=_vars.trigger,pin=_vars.pin,pinSpacing=_vars.pinSpacing,invalidateOnRefresh=_vars.invalidateOnRefresh,anticipatePin=_vars.anticipatePin,onScrubComplete=_vars.onScrubComplete,onSnapComplete=_vars.onSnapComplete,once=_vars.once,snap=_vars.snap,pinReparent=_vars.pinReparent,pinSpacer=_vars.pinSpacer,containerAnimation=_vars.containerAnimation,fastScrollEnd=_vars.fastScrollEnd,preventOverlaps=_vars.preventOverlaps,direction=vars.horizontal||vars.containerAnimation&&vars.horizontal!==!1?_horizontal:_vertical,isToggle=!scrub&&scrub!==0,scroller=_getTarget(vars.scroller||_win$1),scrollerCache=gsap$1.core.getCache(scroller),isViewport=_isViewport$1(scroller),useFixedPosition=("pinType"in vars?vars.pinType:_getProxyProp(scroller,"pinType")||isViewport&&"fixed")==="fixed",callbacks=[vars.onEnter,vars.onLeave,vars.onEnterBack,vars.onLeaveBack],toggleActions=isToggle&&vars.toggleActions.split(" "),markers="markers"in vars?vars.markers:_defaults.markers,borderWidth=isViewport?0:parseFloat(_getComputedStyle(scroller)["border"+direction.p2+_Width])||0,self=this,onRefreshInit=vars.onRefreshInit&&function(){return vars.onRefreshInit(self)},getScrollerSize=_getSizeFunc(scroller,isViewport,direction),getScrollerOffsets=_getOffsetsFunc(scroller,isViewport),lastSnap=0,lastRefresh=0,prevProgress=0,scrollFunc=_getScrollFunc(scroller,direction),tweenTo,pinCache,snapFunc,scroll1,scroll2,start,end,markerStart,markerEnd,markerStartTrigger,markerEndTrigger,markerVars,executingOnRefresh,change,pinOriginalState,pinActiveState,pinState,spacer,offset,pinGetter,pinSetter,pinStart,pinChange,spacingStart,spacerState,markerStartSetter,pinMoves,markerEndSetter,cs,snap1,snap2,scrubTween,scrubSmooth,snapDurClamp,snapDelayedCall,prevScroll,prevAnimProgress,caMarkerSetter,customRevertReturn;self._startClamp=self._endClamp=!1,self._dir=direction,anticipatePin*=45,self.scroller=scroller,self.scroll=containerAnimation?containerAnimation.time.bind(containerAnimation):scrollFunc,scroll1=scrollFunc(),self.vars=vars,animation=animation||vars.animation,"refreshPriority"in vars&&(_sort=1,vars.refreshPriority===-9999&&(_primary=self)),scrollerCache.tweenScroll=scrollerCache.tweenScroll||{top:_getTweenCreator(scroller,_vertical),left:_getTweenCreator(scroller,_horizontal)},self.tweenTo=tweenTo=scrollerCache.tweenScroll[direction.p],self.scrubDuration=function(value){scrubSmooth=_isNumber(value)&&value,scrubSmooth?scrubTween?scrubTween.duration(value):scrubTween=gsap$1.to(animation,{ease:"expo",totalProgress:"+=0",inherit:!1,duration:scrubSmooth,paused:!0,onComplete:function onComplete(){return onScrubComplete&&onScrubComplete(self)}}):(scrubTween&&scrubTween.progress(1).kill(),scrubTween=0)},animation&&(animation.vars.lazy=!1,animation._initted&&!self.isReverted||animation.vars.immediateRender!==!1&&vars.immediateRender!==!1&&animation.duration()&&animation.render(0,!0,!0),self.animation=animation.pause(),animation.scrollTrigger=self,self.scrubDuration(scrub),snap1=0,id||(id=animation.vars.id));if(snap){if(!_isObject(snap)||snap.push)snap={snapTo:snap};"scrollBehavior"in _body$1.style&&gsap$1.set(isViewport?[_body$1,_docEl$1]:scroller,{scrollBehavior:"auto"}),_scrollers.forEach(function(o){return _isFunction(o)&&o.target===(isViewport?_doc$1.scrollingElement||_docEl$1:scroller)&&(o.smooth=!1)}),snapFunc=_isFunction(snap.snapTo)?snap.snapTo:snap.snapTo==="labels"?_getClosestLabel(animation):snap.snapTo==="labelsDirectional"?_getLabelAtDirection(animation):snap.directional!==!1?function(value,st){return _snapDirectional(snap.snapTo)(value,_getTime$1()-lastRefresh<500?0:st.direction)}:gsap$1.utils.snap(snap.snapTo),snapDurClamp=snap.duration||{min:.1,max:2},snapDurClamp=_isObject(snapDurClamp)?_clamp$1(snapDurClamp.min,snapDurClamp.max):_clamp$1(snapDurClamp,snapDurClamp),snapDelayedCall=gsap$1.delayedCall(snap.delay||scrubSmooth/2||.1,function(){var scroll=scrollFunc(),refreshedRecently=_getTime$1()-lastRefresh<500,tween=tweenTo.tween;if((refreshedRecently||Math.abs(self.getVelocity())<10)&&!tween&&!_pointerIsDown&&lastSnap!==scroll){var progress=(scroll-start)/change,totalProgress=animation&&!isToggle?animation.totalProgress():progress,velocity=refreshedRecently?0:(totalProgress-snap2)/(_getTime$1()-_time2)*1e3||0,change1=gsap$1.utils.clamp(-progress,1-progress,_abs(velocity/2)*velocity/.185),naturalEnd=progress+(snap.inertia===!1?0:change1),endValue,endScroll,_snap=snap,onStart=_snap.onStart,_onInterrupt=_snap.onInterrupt,_onComplete=_snap.onComplete;endValue=snapFunc(naturalEnd,self),_isNumber(endValue)||(endValue=naturalEnd),endScroll=Math.round(start+endValue*change);if(scroll<=end&&scroll>=start&&endScroll!==scroll){if(tween&&!tween._initted&&tween.data<=_abs(endScroll-scroll))return;snap.inertia===!1&&(change1=endValue-progress),tweenTo(endScroll,{duration:snapDurClamp(_abs(Math.max(_abs(naturalEnd-totalProgress),_abs(endValue-totalProgress))*.185/velocity/.05||0)),ease:snap.ease||"power3",data:_abs(endScroll-scroll),onInterrupt:function onInterrupt(){return snapDelayedCall.restart(!0)&&_onInterrupt&&_onInterrupt(self)},onComplete:function onComplete(){self.update(),lastSnap=scrollFunc(),animation&&(scrubTween?scrubTween.resetTo("totalProgress",endValue,animation._tTime/animation._tDur):animation.progress(endValue)),snap1=snap2=animation&&!isToggle?animation.totalProgress():self.progress,onSnapComplete&&onSnapComplete(self),_onComplete&&_onComplete(self)}},scroll,change1*change,endScroll-scroll-change1*change),onStart&&onStart(self,tweenTo.tween)}}else self.isActive&&lastSnap!==scroll&&snapDelayedCall.restart(!0)}).pause()}id&&(_ids[id]=self),trigger=self.trigger=_getTarget(trigger||pin!==!0&&pin),customRevertReturn=trigger&&trigger._gsap&&trigger._gsap.stRevert,customRevertReturn&&(customRevertReturn=customRevertReturn(self)),pin=pin===!0?trigger:_getTarget(pin),_isString(toggleClass)&&(toggleClass={targets:trigger,className:toggleClass}),pin&&(pinSpacing===!1||pinSpacing===_margin||(pinSpacing=!pinSpacing&&pin.parentNode&&pin.parentNode.style&&_getComputedStyle(pin.parentNode).display==="flex"?!1:_padding),self.pin=pin,pinCache=gsap$1.core.getCache(pin),pinCache.spacer?pinOriginalState=pinCache.pinState:(pinSpacer&&(pinSpacer=_getTarget(pinSpacer),pinSpacer&&!pinSpacer.nodeType&&(pinSpacer=pinSpacer.current||pinSpacer.nativeElement),pinCache.spacerIsNative=!!pinSpacer,pinSpacer&&(pinCache.spacerState=_getState(pinSpacer))),pinCache.spacer=spacer=pinSpacer||_doc$1.createElement("div"),spacer.classList.add("pin-spacer"),id&&spacer.classList.add("pin-spacer-"+id),pinCache.pinState=pinOriginalState=_getState(pin)),vars.force3D!==!1&&gsap$1.set(pin,{force3D:!0}),self.spacer=spacer=pinCache.spacer,cs=_getComputedStyle(pin),spacingStart=cs[pinSpacing+direction.os2],pinGetter=gsap$1.getProperty(pin),pinSetter=gsap$1.quickSetter(pin,direction.a,_px),_swapPinIn(pin,spacer,cs),pinState=_getState(pin));if(markers){markerVars=_isObject(markers)?_setDefaults(markers,_markerDefaults):_markerDefaults,markerStartTrigger=_createMarker("scroller-start",id,scroller,direction,markerVars,0),markerEndTrigger=_createMarker("scroller-end",id,scroller,direction,markerVars,0,markerStartTrigger),offset=markerStartTrigger["offset"+direction.op.d2];var content=_getTarget(_getProxyProp(scroller,"content")||scroller);markerStart=this.markerStart=_createMarker("start",id,content,direction,markerVars,offset,0,containerAnimation),markerEnd=this.markerEnd=_createMarker("end",id,content,direction,markerVars,offset,0,containerAnimation),containerAnimation&&(caMarkerSetter=gsap$1.quickSetter([markerStart,markerEnd],direction.a,_px)),!useFixedPosition&&(!_proxies.length||_getProxyProp(scroller,"fixedMarkers")!==!0)&&(_makePositionable(isViewport?_body$1:scroller),gsap$1.set([markerStartTrigger,markerEndTrigger],{force3D:!0}),markerStartSetter=gsap$1.quickSetter(markerStartTrigger,direction.a,_px),markerEndSetter=gsap$1.quickSetter(markerEndTrigger,direction.a,_px))}if(containerAnimation){var oldOnUpdate=containerAnimation.vars.onUpdate,oldParams=containerAnimation.vars.onUpdateParams;containerAnimation.eventCallback("onUpdate",function(){self.update(0,0,1),oldOnUpdate&&oldOnUpdate.apply(containerAnimation,oldParams||[])})}self.previous=function(){return _triggers[_triggers.indexOf(self)-1]},self.next=function(){return _triggers[_triggers.indexOf(self)+1]},self.revert=function(revert,temp){if(!temp)return self.kill(!0);var r=revert!==!1||!self.enabled,prevRefreshing=_refreshing;r!==self.isReverted&&(r&&(prevScroll=Math.max(scrollFunc(),self.scroll.rec||0),prevProgress=self.progress,prevAnimProgress=animation&&animation.progress()),markerStart&&[markerStart,markerEnd,markerStartTrigger,markerEndTrigger].forEach(function(m){return m.style.display=r?"none":"block"}),r&&(_refreshing=self,self.update(r)),pin&&(!pinReparent||!self.isActive)&&(r?_swapPinOut(pin,spacer,pinOriginalState):_swapPinIn(pin,spacer,_getComputedStyle(pin),spacerState)),r||self.update(r),_refreshing=prevRefreshing,self.isReverted=r)},self.refresh=function(soft,force,position,pinOffset){if((_refreshing||!self.enabled)&&!force)return;if(pin&&soft&&_lastScrollTime){_addListener$1(ScrollTrigger,"scrollEnd",_softRefresh);return}!_refreshingAll&&onRefreshInit&&onRefreshInit(self),_refreshing=self,tweenTo.tween&&!position&&(tweenTo.tween.kill(),tweenTo.tween=0),scrubTween&&scrubTween.pause(),invalidateOnRefresh&&animation&&animation.revert({kill:!1}).invalidate(),self.isReverted||self.revert(!0,!0),self._subPinOffset=!1;var size=getScrollerSize(),scrollerBounds=getScrollerOffsets(),max=containerAnimation?containerAnimation.duration():_maxScroll(scroller,direction),isFirstRefresh=change<=.01,offset=0,otherPinOffset=pinOffset||0,parsedEnd=_isObject(position)?position.end:vars.end,parsedEndTrigger=vars.endTrigger||trigger,parsedStart=_isObject(position)?position.start:vars.start||(vars.start===0||!trigger?0:pin?"0 0":"0 100%"),pinnedContainer=self.pinnedContainer=vars.pinnedContainer&&_getTarget(vars.pinnedContainer,self),triggerIndex=trigger&&Math.max(0,_triggers.indexOf(self))||0,i=triggerIndex,cs,bounds,scroll,isVertical,override,curTrigger,curPin,oppositeScroll,initted,revertedPins,forcedOverflow,markerStartOffset,markerEndOffset;markers&&_isObject(position)&&(markerStartOffset=gsap$1.getProperty(markerStartTrigger,direction.p),markerEndOffset=gsap$1.getProperty(markerEndTrigger,direction.p));while(i--)curTrigger=_triggers[i],curTrigger.end||curTrigger.refresh(0,1)||(_refreshing=self),curPin=curTrigger.pin,curPin&&(curPin===trigger||curPin===pin||curPin===pinnedContainer)&&!curTrigger.isReverted&&(revertedPins||(revertedPins=[]),revertedPins.unshift(curTrigger),curTrigger.revert(!0,!0)),curTrigger!==_triggers[i]&&(triggerIndex--,i--);_isFunction(parsedStart)&&(parsedStart=parsedStart(self)),parsedStart=_parseClamp(parsedStart,"start",self),start=_parsePosition(parsedStart,trigger,size,direction,scrollFunc(),markerStart,markerStartTrigger,self,scrollerBounds,borderWidth,useFixedPosition,max,containerAnimation,self._startClamp&&"_startClamp")||(pin?-0.001:0),_isFunction(parsedEnd)&&(parsedEnd=parsedEnd(self)),_isString(parsedEnd)&&!parsedEnd.indexOf("+=")&&(~parsedEnd.indexOf(" ")?parsedEnd=(_isString(parsedStart)?parsedStart.split(" ")[0]:"")+parsedEnd:(offset=_offsetToPx(parsedEnd.substr(2),size),parsedEnd=_isString(parsedStart)?parsedStart:(containerAnimation?gsap$1.utils.mapRange(0,containerAnimation.duration(),containerAnimation.scrollTrigger.start,containerAnimation.scrollTrigger.end,start):start)+offset,parsedEndTrigger=trigger)),parsedEnd=_parseClamp(parsedEnd,"end",self),end=Math.max(start,_parsePosition(parsedEnd||(parsedEndTrigger?"100% 0":max),parsedEndTrigger,size,direction,scrollFunc()+offset,markerEnd,markerEndTrigger,self,scrollerBounds,borderWidth,useFixedPosition,max,containerAnimation,self._endClamp&&"_endClamp"))||-0.001,offset=0,i=triggerIndex;while(i--)curTrigger=_triggers[i],curPin=curTrigger.pin,curPin&&curTrigger.start-curTrigger._pinPush<=start&&!containerAnimation&&curTrigger.end>0&&(cs=curTrigger.end-(self._startClamp?Math.max(0,curTrigger.start):curTrigger.start),(curPin===trigger&&curTrigger.start-curTrigger._pinPush=_maxScroll(scroller,direction)))cs=_getComputedStyle(pin),isVertical=direction===_vertical,scroll=scrollFunc(),pinStart=parseFloat(pinGetter(direction.a))+otherPinOffset,!max&&end>1&&(forcedOverflow=(isViewport?_doc$1.scrollingElement||_docEl$1:scroller).style,forcedOverflow={style:forcedOverflow,value:forcedOverflow["overflow"+direction.a.toUpperCase()]},isViewport&&_getComputedStyle(_body$1)["overflow"+direction.a.toUpperCase()]!=="scroll"&&(forcedOverflow.style["overflow"+direction.a.toUpperCase()]="scroll")),_swapPinIn(pin,spacer,cs),pinState=_getState(pin),bounds=_getBounds(pin,!0),oppositeScroll=useFixedPosition&&_getScrollFunc(scroller,isVertical?_horizontal:_vertical)(),pinSpacing?(spacerState=[pinSpacing+direction.os2,change+otherPinOffset+_px],spacerState.t=spacer,i=pinSpacing===_padding?_getSize(pin,direction)+change+otherPinOffset:0,i&&(spacerState.push(direction.d,i+_px),spacer.style.flexBasis!=="auto"&&(spacer.style.flexBasis=i+_px)),_setState(spacerState),pinnedContainer&&_triggers.forEach(function(t){t.pin===pinnedContainer&&t.vars.pinSpacing!==!1&&(t._subPinOffset=!0)}),useFixedPosition&&scrollFunc(prevScroll)):(i=_getSize(pin,direction),i&&spacer.style.flexBasis!=="auto"&&(spacer.style.flexBasis=i+_px)),useFixedPosition&&(override={top:bounds.top+(isVertical?scroll-start:oppositeScroll)+_px,left:bounds.left+(isVertical?oppositeScroll:scroll-start)+_px,boxSizing:"border-box",position:"fixed"},override[_width]=override["max"+_Width]=Math.ceil(bounds.width)+_px,override[_height]=override["max"+_Height]=Math.ceil(bounds.height)+_px,override[_margin]=override[_margin+_Top]=override[_margin+_Right]=override[_margin+_Bottom]=override[_margin+_Left]="0",override[_padding]=cs[_padding],override[_padding+_Top]=cs[_padding+_Top],override[_padding+_Right]=cs[_padding+_Right],override[_padding+_Bottom]=cs[_padding+_Bottom],override[_padding+_Left]=cs[_padding+_Left],pinActiveState=_copyState(pinOriginalState,override,pinReparent),_refreshingAll&&scrollFunc(0)),animation?(initted=animation._initted,_suppressOverwrites(1),animation.render(animation.duration(),!0,!0),pinChange=pinGetter(direction.a)-pinStart+change+otherPinOffset,pinMoves=Math.abs(change-pinChange)>1,useFixedPosition&&pinMoves&&pinActiveState.splice(pinActiveState.length-2,2),animation.render(0,!0,!0),initted||animation.invalidate(!0),animation.parent||animation.totalTime(animation.totalTime()),_suppressOverwrites(0)):pinChange=change,forcedOverflow&&(forcedOverflow.value?forcedOverflow.style["overflow"+direction.a.toUpperCase()]=forcedOverflow.value:forcedOverflow.style.removeProperty("overflow-"+direction.a));else if(trigger&&scrollFunc()&&!containerAnimation){bounds=trigger.parentNode;while(bounds&&bounds!==_body$1)bounds._pinOffset&&(start-=bounds._pinOffset,end-=bounds._pinOffset),bounds=bounds.parentNode}revertedPins&&revertedPins.forEach(function(t){return t.revert(!1,!0)}),self.start=start,self.end=end,scroll1=scroll2=_refreshingAll?prevScroll:scrollFunc(),!containerAnimation&&!_refreshingAll&&(scroll10?_triggers.slice(0,i).reverse():_triggers.slice(i+1);return(_isString(name)?a.filter(function(t){return t.vars.preventOverlaps===name}):a).filter(function(t){return self.direction>0?t.end<=start:t.start>=end})},self.update=function(reset,recordVelocity,forceFake){if(containerAnimation&&!forceFake&&!reset)return;var scroll=_refreshingAll===!0?prevScroll:self.scroll(),p=reset?0:(scroll-start)/change,clipped=p<0?0:p>1?1:p||0,prevProgress=self.progress,isActive,wasActive,toggleState,action,stateChanged,toggled,isAtMax,isTakingAction;recordVelocity&&(scroll2=scroll1,scroll1=containerAnimation?scrollFunc():scroll,snap&&(snap2=snap1,snap1=animation&&!isToggle?animation.totalProgress():clipped)),anticipatePin&&pin&&!_refreshing&&!_startup$1&&_lastScrollTime&&(!clipped&&startscroll+(scroll-scroll2)/(_getTime$1()-_time2)*anticipatePin&&(clipped=.9999));if(clipped!==prevProgress&&self.enabled){isActive=self.isActive=!!clipped&&clipped<1,wasActive=!!prevProgress&&prevProgress<1,toggled=isActive!==wasActive,stateChanged=toggled||!!clipped!=!!prevProgress,self.direction=clipped>prevProgress?1:-1,self.progress=clipped,stateChanged&&!_refreshing&&(toggleState=clipped&&!prevProgress?0:clipped===1?1:prevProgress===1?2:3,isToggle&&(action=!toggled&&toggleActions[toggleState+1]!=="none"&&toggleActions[toggleState+1]||toggleActions[toggleState],isTakingAction=animation&&(action==="complete"||action==="reset"||action in animation))),preventOverlaps&&(toggled||isTakingAction)&&(isTakingAction||scrub||!animation)&&(_isFunction(preventOverlaps)?preventOverlaps(self):self.getTrailing(preventOverlaps).forEach(function(t){return t.endAnimation()})),isToggle||(scrubTween&&!_refreshing&&!_startup$1?(scrubTween._dp._time-scrubTween._start!==scrubTween._time&&scrubTween.render(scrubTween._dp._time-scrubTween._start),scrubTween.resetTo?scrubTween.resetTo("totalProgress",clipped,animation._tTime/animation._tDur):(scrubTween.vars.totalProgress=clipped,scrubTween.invalidate().restart())):animation&&animation.totalProgress(clipped,!(!_refreshing||!lastRefresh&&!reset)));if(pin){reset&&pinSpacing&&(spacer.style[pinSpacing+direction.os2]=spacingStart);if(!useFixedPosition)pinSetter(_round(pinStart+pinChange*clipped));else if(stateChanged){isAtMax=!reset&&clipped>prevProgress&&end+1>scroll&&scroll+1>=_maxScroll(scroller,direction);if(pinReparent)if(!reset&&(isActive||isAtMax)){var bounds=_getBounds(pin,!0),_offset=scroll-start;_reparent(pin,_body$1,bounds.top+(direction===_vertical?_offset:0)+_px,bounds.left+(direction===_vertical?0:_offset)+_px)}else _reparent(pin,spacer);_setState(isActive||isAtMax?pinActiveState:pinState),pinMoves&&clipped<1&&isActive||pinSetter(pinStart+(clipped===1&&!isAtMax?pinChange:0))}}snap&&!tweenTo.tween&&!_refreshing&&!_startup$1&&snapDelayedCall.restart(!0),toggleClass&&(toggled||once&&clipped&&(clipped<1||!_limitCallbacks))&&_toArray(toggleClass.targets).forEach(function(el){return el.classList[isActive||once?"add":"remove"](toggleClass.className)}),onUpdate&&!isToggle&&!reset&&onUpdate(self);if(stateChanged&&!_refreshing){isToggle&&(isTakingAction&&(action==="complete"?animation.pause().totalProgress(1):action==="reset"?animation.restart(!0).pause():action==="restart"?animation.restart(!0):animation[action]()),onUpdate&&onUpdate(self));if(toggled||!_limitCallbacks)onToggle&&toggled&&_callback(self,onToggle),callbacks[toggleState]&&_callback(self,callbacks[toggleState]),once&&(clipped===1?self.kill(!1,1):callbacks[toggleState]=0),toggled||(toggleState=clipped===1?1:3,callbacks[toggleState]&&_callback(self,callbacks[toggleState]));fastScrollEnd&&!isActive&&Math.abs(self.getVelocity())>(_isNumber(fastScrollEnd)?fastScrollEnd:2500)&&(_endAnimation(self.callbackAnimation),scrubTween?scrubTween.progress(1):_endAnimation(animation,action==="reverse"?1:!clipped,1))}else isToggle&&onUpdate&&!_refreshing&&onUpdate(self)}if(markerEndSetter){var n=containerAnimation?scroll/containerAnimation.duration()*(containerAnimation._caScrollDist||0):scroll;markerStartSetter(n+(markerStartTrigger._isFlipped?1:0)),markerEndSetter(n)}caMarkerSetter&&caMarkerSetter(-scroll/containerAnimation.duration()*(containerAnimation._caScrollDist||0))},self.enable=function(reset,refresh){self.enabled||(self.enabled=!0,_addListener$1(scroller,"resize",_onResize),isViewport||_addListener$1(scroller,"scroll",_onScroll$1),onRefreshInit&&_addListener$1(ScrollTrigger,"refreshInit",onRefreshInit),reset!==!1&&(self.progress=prevProgress=0,scroll1=scroll2=lastSnap=scrollFunc()),refresh!==!1&&self.refresh())},self.getTween=function(snap){return snap&&tweenTo?tweenTo.tween:scrubTween},self.setPositions=function(newStart,newEnd,keepClamp,pinOffset){if(containerAnimation){var st=containerAnimation.scrollTrigger,duration=containerAnimation.duration(),_change=st.end-st.start;newStart=st.start+_change*newStart/duration,newEnd=st.start+_change*newEnd/duration}self.refresh(!1,!1,{start:_keepClamp(newStart,keepClamp&&!!self._startClamp),end:_keepClamp(newEnd,keepClamp&&!!self._endClamp)},pinOffset),self.update()},self.adjustPinSpacing=function(amount){if(spacerState&&amount){var i=spacerState.indexOf(direction.d)+1;spacerState[i]=parseFloat(spacerState[i])+amount+_px,spacerState[1]=parseFloat(spacerState[1])+amount+_px,_setState(spacerState)}},self.disable=function(reset,allowAnimation){if(self.enabled){reset!==!1&&self.revert(!0,!0),self.enabled=self.isActive=!1,allowAnimation||scrubTween&&scrubTween.pause(),prevScroll=0,pinCache&&(pinCache.uncache=1),onRefreshInit&&_removeListener$1(ScrollTrigger,"refreshInit",onRefreshInit),snapDelayedCall&&(snapDelayedCall.pause(),tweenTo.tween&&tweenTo.tween.kill()&&(tweenTo.tween=0));if(!isViewport){var i=_triggers.length;while(i--)if(_triggers[i].scroller===scroller&&_triggers[i]!==self)return;_removeListener$1(scroller,"resize",_onResize),isViewport||_removeListener$1(scroller,"scroll",_onScroll$1)}}},self.kill=function(revert,allowAnimation){self.disable(revert,allowAnimation),scrubTween&&!allowAnimation&&scrubTween.kill(),id&&delete _ids[id];var i=_triggers.indexOf(self);i>=0&&_triggers.splice(i,1),i===_i&&_direction>0&&_i--,i=0,_triggers.forEach(function(t){return t.scroller===self.scroller&&(i=1)}),i||_refreshingAll||(self.scroll.rec=0),animation&&(animation.scrollTrigger=null,revert&&animation.revert({kill:!1}),allowAnimation||animation.kill()),markerStart&&[markerStart,markerEnd,markerStartTrigger,markerEndTrigger].forEach(function(m){return m.parentNode&&m.parentNode.removeChild(m)}),_primary===self&&(_primary=0),pin&&(pinCache&&(pinCache.uncache=1),i=0,_triggers.forEach(function(t){return t.pin===pin&&i++}),i||(pinCache.spacer=0)),vars.onKill&&vars.onKill(self)},_triggers.push(self),self.enable(!1,!1),customRevertReturn&&customRevertReturn(self);if(animation&&animation.add&&!change){var updateFunc=self.update;self.update=function(){self.update=updateFunc,start||end||self.refresh()},gsap$1.delayedCall(.01,self.update),change=.01,start=end=0}else self.refresh();pin&&_queueRefreshAll()},ScrollTrigger.register=function register(core){return _coreInitted$1||(gsap$1=core||_getGSAP$1(),_windowExists()&&window.document&&ScrollTrigger.enable(),_coreInitted$1=_enabled),_coreInitted$1},ScrollTrigger.defaults=function defaults(config){if(config)for(var p in config)_defaults[p]=config[p];return _defaults},ScrollTrigger.disable=function disable(reset,kill){_enabled=0,_triggers.forEach(function(trigger){return trigger[kill?"kill":"disable"](reset)}),_removeListener$1(_win$1,"wheel",_onScroll$1),_removeListener$1(_doc$1,"scroll",_onScroll$1),clearInterval(_syncInterval),_removeListener$1(_doc$1,"touchcancel",_passThrough),_removeListener$1(_body$1,"touchstart",_passThrough),_multiListener(_removeListener$1,_doc$1,"pointerdown,touchstart,mousedown",_pointerDownHandler),_multiListener(_removeListener$1,_doc$1,"pointerup,touchend,mouseup",_pointerUpHandler),_resizeDelay.kill(),_iterateAutoRefresh(_removeListener$1);for(var i=0;i<_scrollers.length;i+=3)_wheelListener(_removeListener$1,_scrollers[i],_scrollers[i+1]),_wheelListener(_removeListener$1,_scrollers[i],_scrollers[i+2])},ScrollTrigger.enable=function enable(){_win$1=window,_doc$1=document,_docEl$1=_doc$1.documentElement,_body$1=_doc$1.body;if(gsap$1){_toArray=gsap$1.utils.toArray,_clamp$1=gsap$1.utils.clamp,_context$1=gsap$1.core.context||_passThrough,_suppressOverwrites=gsap$1.core.suppressOverwrites||_passThrough,_scrollRestoration=_win$1.history.scrollRestoration||"auto",_lastScroll=_win$1.pageYOffset,gsap$1.core.globals("ScrollTrigger",ScrollTrigger);if(_body$1){_enabled=1,_div100vh=document.createElement("div"),_div100vh.style.height="100vh",_div100vh.style.position="absolute",_refresh100vh(),_rafBugFix(),Observer.register(gsap$1),ScrollTrigger.isTouch=Observer.isTouch,_fixIOSBug=Observer.isTouch&&/(iPad|iPhone|iPod|Mac)/g.test(navigator.userAgent),_ignoreMobileResize=Observer.isTouch===1,_addListener$1(_win$1,"wheel",_onScroll$1),_root$1=[_win$1,_doc$1,_docEl$1,_body$1],gsap$1.matchMedia?(ScrollTrigger.matchMedia=function(vars){var mm=gsap$1.matchMedia(),p;for(p in vars)mm.add(p,vars[p]);return mm},gsap$1.addEventListener("matchMediaInit",function(){return _revertAll()}),gsap$1.addEventListener("matchMediaRevert",function(){return _revertRecorded()}),gsap$1.addEventListener("matchMedia",function(){_refreshAll(0,1),_dispatch("matchMedia")}),gsap$1.matchMedia("(orientation: portrait)",function(){return _setBaseDimensions(),_setBaseDimensions})):console.warn("Requires GSAP 3.11.0 or later"),_setBaseDimensions(),_addListener$1(_doc$1,"scroll",_onScroll$1);var bodyStyle=_body$1.style,border=bodyStyle.borderTopStyle,AnimationProto=gsap$1.core.Animation.prototype,bounds,i;AnimationProto.revert||Object.defineProperty(AnimationProto,"revert",{value:function value(){return this.time(-0.01,!0)}}),bodyStyle.borderTopStyle="solid",bounds=_getBounds(_body$1),_vertical.m=Math.round(bounds.top+_vertical.sc())||0,_horizontal.m=Math.round(bounds.left+_horizontal.sc())||0,border?bodyStyle.borderTopStyle=border:bodyStyle.removeProperty("border-top-style"),_syncInterval=setInterval(_sync,250),gsap$1.delayedCall(.5,function(){return _startup$1=0}),_addListener$1(_doc$1,"touchcancel",_passThrough),_addListener$1(_body$1,"touchstart",_passThrough),_multiListener(_addListener$1,_doc$1,"pointerdown,touchstart,mousedown",_pointerDownHandler),_multiListener(_addListener$1,_doc$1,"pointerup,touchend,mouseup",_pointerUpHandler),_transformProp=gsap$1.utils.checkPrefix("transform"),_stateProps.push(_transformProp),_coreInitted$1=_getTime$1(),_resizeDelay=gsap$1.delayedCall(.2,_refreshAll).pause(),_autoRefresh=[_doc$1,"visibilitychange",function(){var w=_win$1.innerWidth,h=_win$1.innerHeight;_doc$1.hidden?(_prevWidth=w,_prevHeight=h):(_prevWidth!==w||_prevHeight!==h)&&_onResize()},_doc$1,"DOMContentLoaded",_refreshAll,_win$1,"load",_refreshAll,_win$1,"resize",_onResize],_iterateAutoRefresh(_addListener$1),_triggers.forEach(function(trigger){return trigger.enable(0,1)});for(i=0;i<_scrollers.length;i+=3)_wheelListener(_removeListener$1,_scrollers[i],_scrollers[i+1]),_wheelListener(_removeListener$1,_scrollers[i],_scrollers[i+2])}}},ScrollTrigger.config=function config(vars){"limitCallbacks"in vars&&(_limitCallbacks=!!vars.limitCallbacks);var ms=vars.syncInterval;ms&&clearInterval(_syncInterval)||(_syncInterval=ms)&&setInterval(_sync,ms),"ignoreMobileResize"in vars&&(_ignoreMobileResize=ScrollTrigger.isTouch===1&&vars.ignoreMobileResize),"autoRefreshEvents"in vars&&(_iterateAutoRefresh(_removeListener$1)||_iterateAutoRefresh(_addListener$1,vars.autoRefreshEvents||"none"),_ignoreResize=(vars.autoRefreshEvents+"").indexOf("resize")===-1)},ScrollTrigger.scrollerProxy=function scrollerProxy(target,vars){var t=_getTarget(target),i=_scrollers.indexOf(t),isViewport=_isViewport$1(t);~i&&_scrollers.splice(i,isViewport?6:2),vars&&(isViewport?_proxies.unshift(_win$1,vars,_body$1,vars,_docEl$1,vars):_proxies.unshift(t,vars))},ScrollTrigger.clearMatchMedia=function clearMatchMedia(query){_triggers.forEach(function(t){return t._ctx&&t._ctx.query===query&&t._ctx.kill(!0,!0)})},ScrollTrigger.isInViewport=function isInViewport(element,ratio,horizontal){var bounds=(_isString(element)?_getTarget(element):element).getBoundingClientRect(),offset=bounds[horizontal?_width:_height]*ratio||0;return horizontal?bounds.right-offset>0&&bounds.left+offset<_win$1.innerWidth:bounds.bottom-offset>0&&bounds.top+offset<_win$1.innerHeight},ScrollTrigger.positionInViewport=function positionInViewport(element,referencePoint,horizontal){_isString(element)&&(element=_getTarget(element));var bounds=element.getBoundingClientRect(),size=bounds[horizontal?_width:_height],offset=referencePoint==null?size/2:referencePoint in _keywords?_keywords[referencePoint]*size:~referencePoint.indexOf("%")?parseFloat(referencePoint)*size/100:parseFloat(referencePoint)||0;return horizontal?(bounds.left+offset)/_win$1.innerWidth:(bounds.top+offset)/_win$1.innerHeight},ScrollTrigger.killAll=function killAll(allowListeners){_triggers.slice(0).forEach(function(t){return t.vars.id!=="ScrollSmoother"&&t.kill()});if(allowListeners!==!0){var listeners=_listeners.killAll||[];_listeners={},listeners.forEach(function(f){return f()})}},ScrollTrigger}();ScrollTrigger$1.version="3.12.5",ScrollTrigger$1.saveStyles=function(targets){return targets?_toArray(targets).forEach(function(target){if(target&&target.style){var i=_savedStyles.indexOf(target);i>=0&&_savedStyles.splice(i,5),_savedStyles.push(target,target.style.cssText,target.getBBox&&target.getAttribute("transform"),gsap$1.core.getCache(target),_context$1())}}):_savedStyles},ScrollTrigger$1.revert=function(soft,media){return _revertAll(!soft,media)},ScrollTrigger$1.create=function(vars,animation){return new ScrollTrigger$1(vars,animation)},ScrollTrigger$1.refresh=function(safe){return safe?_onResize():(_coreInitted$1||ScrollTrigger$1.register())&&_refreshAll(!0)},ScrollTrigger$1.update=function(force){return++_scrollers.cache&&_updateAll(force===!0?2:0)},ScrollTrigger$1.clearScrollMemory=_clearScrollMemory,ScrollTrigger$1.maxScroll=function(element,horizontal){return _maxScroll(element,horizontal?_horizontal:_vertical)},ScrollTrigger$1.getScrollFunc=function(element,horizontal){return _getScrollFunc(_getTarget(element),horizontal?_horizontal:_vertical)},ScrollTrigger$1.getById=function(id){return _ids[id]},ScrollTrigger$1.getAll=function(){return _triggers.filter(function(t){return t.vars.id!=="ScrollSmoother"})},ScrollTrigger$1.isScrolling=function(){return!!_lastScrollTime},ScrollTrigger$1.snapDirectional=_snapDirectional,ScrollTrigger$1.addEventListener=function(type,callback){var a=_listeners[type]||(_listeners[type]=[]);~a.indexOf(callback)||a.push(callback)},ScrollTrigger$1.removeEventListener=function(type,callback){var a=_listeners[type],i=a&&a.indexOf(callback);i>=0&&a.splice(i,1)},ScrollTrigger$1.batch=function(targets,vars){var result=[],varsCopy={},interval=vars.interval||.016,batchMax=vars.batchMax||1e9,proxyCallback=function proxyCallback(type,callback){var elements=[],triggers=[],delay=gsap$1.delayedCall(interval,function(){callback(elements,triggers),elements=[],triggers=[]}).pause();return function(self){elements.length||delay.restart(!0),elements.push(self.trigger),triggers.push(self),batchMax<=elements.length&&delay.progress(1)}},p;for(p in vars)varsCopy[p]=p.substr(0,2)==="on"&&_isFunction(vars[p])&&p!=="onRefreshInit"?proxyCallback(p,vars[p]):vars[p];return _isFunction(batchMax)&&(batchMax=batchMax(),_addListener$1(ScrollTrigger$1,"refresh",function(){return batchMax=vars.batchMax()})),_toArray(targets).forEach(function(target){var config={};for(p in varsCopy)config[p]=varsCopy[p];config.trigger=target,result.push(ScrollTrigger$1.create(config))}),result};var _clampScrollAndGetDurationMultiplier=function _clampScrollAndGetDurationMultiplier(scrollFunc,current,end,max){return current>max?scrollFunc(max):current<0&&scrollFunc(0),end>max?(max-current)/(end-current):end<0?current/(current-end):1},_allowNativePanning=function _allowNativePanning(target,direction){direction===!0?target.style.removeProperty("touch-action"):target.style.touchAction=direction===!0?"auto":direction?"pan-"+direction+(Observer.isTouch?" pinch-zoom":""):"none",target===_docEl$1&&_allowNativePanning(_body$1,direction)},_overflow={auto:1,scroll:1},_nestedScroll=function _nestedScroll(_ref5){var event=_ref5.event,target=_ref5.target,axis=_ref5.axis,node=(event.changedTouches?event.changedTouches[0]:event).target,cache=node._gsap||gsap$1.core.getCache(node),time=_getTime$1(),cs;if(!cache._isScrollT||time-cache._isScrollT>2e3){while(node&&node!==_body$1&&(node.scrollHeight<=node.clientHeight&&node.scrollWidth<=node.clientWidth||!_overflow[(cs=_getComputedStyle(node)).overflowY]&&!_overflow[cs.overflowX]))node=node.parentNode;cache._isScroll=node&&node!==target&&!_isViewport$1(node)&&(_overflow[(cs=_getComputedStyle(node)).overflowY]||_overflow[cs.overflowX]),cache._isScrollT=time}if(cache._isScroll||axis==="x")event.stopPropagation(),event._gsapAllow=!0},_inputObserver=function _inputObserver(target,type,inputs,nested){return Observer.create({target:target,capture:!0,debounce:!1,lockAxis:!0,type:type,onWheel:nested=nested&&_nestedScroll,onPress:nested,onDrag:nested,onScroll:nested,onEnable:function onEnable(){return inputs&&_addListener$1(_doc$1,Observer.eventTypes[0],_captureInputs,!1,!0)},onDisable:function onDisable(){return _removeListener$1(_doc$1,Observer.eventTypes[0],_captureInputs,!0)}})},_inputExp=/(input|label|select|textarea)/i,_inputIsFocused,_captureInputs=function _captureInputs(e){var isInput=_inputExp.test(e.target.tagName);if(isInput||_inputIsFocused)e._gsapAllow=!0,_inputIsFocused=isInput},_getScrollNormalizer=function _getScrollNormalizer(vars){_isObject(vars)||(vars={}),vars.preventDefault=vars.isNormalizer=vars.allowClicks=!0,vars.type||(vars.type="wheel,touch"),vars.debounce=!!vars.debounce,vars.id=vars.id||"normalizer";var _vars2=vars,normalizeScrollX=_vars2.normalizeScrollX,momentum=_vars2.momentum,allowNestedScroll=_vars2.allowNestedScroll,onRelease=_vars2.onRelease,self,maxY,target=_getTarget(vars.target)||_docEl$1,smoother=gsap$1.core.globals().ScrollSmoother,smootherInstance=smoother&&smoother.get(),content=_fixIOSBug&&(vars.content&&_getTarget(vars.content)||smootherInstance&&vars.content!==!1&&!smootherInstance.smooth()&&smootherInstance.content()),scrollFuncY=_getScrollFunc(target,_vertical),scrollFuncX=_getScrollFunc(target,_horizontal),scale=1,initialScale=(Observer.isTouch&&_win$1.visualViewport?_win$1.visualViewport.scale*_win$1.visualViewport.width:_win$1.outerWidth)/_win$1.innerWidth,wheelRefresh=0,resolveMomentumDuration=_isFunction(momentum)?function(){return momentum(self)}:function(){return momentum||2.8},lastRefreshID,skipTouchMove,inputObserver=_inputObserver(target,vars.type,!0,allowNestedScroll),resumeTouchMove=function resumeTouchMove(){return skipTouchMove=!1},scrollClampX=_passThrough,scrollClampY=_passThrough,updateClamps=function updateClamps(){maxY=_maxScroll(target,_vertical),scrollClampY=_clamp$1(_fixIOSBug?1:0,maxY),normalizeScrollX&&(scrollClampX=_clamp$1(0,_maxScroll(target,_horizontal))),lastRefreshID=_refreshID},removeContentOffset=function removeContentOffset(){content._gsap.y=_round(parseFloat(content._gsap.y)+scrollFuncY.offset)+"px",content.style.transform="matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, "+parseFloat(content._gsap.y)+", 0, 1)",scrollFuncY.offset=scrollFuncY.cacheID=0},ignoreDrag=function ignoreDrag(){if(skipTouchMove){requestAnimationFrame(resumeTouchMove);var offset=_round(self.deltaY/2),scroll=scrollClampY(scrollFuncY.v-offset);if(content&&scroll!==scrollFuncY.v+scrollFuncY.offset){scrollFuncY.offset=scroll-scrollFuncY.v;var y=_round((parseFloat(content&&content._gsap.y)||0)-scrollFuncY.offset);content.style.transform="matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, "+y+", 0, 1)",content._gsap.y=y+"px",scrollFuncY.cacheID=_scrollers.cache,_updateAll()}return!0}scrollFuncY.offset&&removeContentOffset(),skipTouchMove=!0},tween,startScrollX,startScrollY,onStopDelayedCall,onResize=function onResize(){updateClamps(),tween.isActive()&&tween.vars.scrollY>maxY&&(scrollFuncY()>maxY?tween.progress(1)&&scrollFuncY(maxY):tween.resetTo("scrollY",maxY))};return content&&gsap$1.set(content,{y:"+=0"}),vars.ignoreCheck=function(e){return _fixIOSBug&&e.type==="touchmove"&&ignoreDrag()||scale>1.05&&e.type!=="touchstart"||self.isGesturing||e.touches&&e.touches.length>1},vars.onPress=function(){skipTouchMove=!1;var prevScale=scale;scale=_round((_win$1.visualViewport&&_win$1.visualViewport.scale||1)/initialScale),tween.pause(),prevScale!==scale&&_allowNativePanning(target,scale>1.01?!0:normalizeScrollX?!1:"x"),startScrollX=scrollFuncX(),startScrollY=scrollFuncY(),updateClamps(),lastRefreshID=_refreshID},vars.onRelease=vars.onGestureStart=function(self,wasDragging){scrollFuncY.offset&&removeContentOffset();if(!wasDragging)onStopDelayedCall.restart(!0);else{_scrollers.cache++;var dur=resolveMomentumDuration(),currentScroll,endScroll;normalizeScrollX&&(currentScroll=scrollFuncX(),endScroll=currentScroll+dur*.05*-self.velocityX/.227,dur*=_clampScrollAndGetDurationMultiplier(scrollFuncX,currentScroll,endScroll,_maxScroll(target,_horizontal)),tween.vars.scrollX=scrollClampX(endScroll)),currentScroll=scrollFuncY(),endScroll=currentScroll+dur*.05*-self.velocityY/.227,dur*=_clampScrollAndGetDurationMultiplier(scrollFuncY,currentScroll,endScroll,_maxScroll(target,_vertical)),tween.vars.scrollY=scrollClampY(endScroll),tween.invalidate().duration(dur).play(.01),(_fixIOSBug&&tween.vars.scrollY>=maxY||currentScroll>=maxY-1)&&gsap$1.to({},{onUpdate:onResize,duration:dur})}onRelease&&onRelease(self)},vars.onWheel=function(){tween._ts&&tween.pause(),_getTime$1()-wheelRefresh>1e3&&(lastRefreshID=0,wheelRefresh=_getTime$1())},vars.onChange=function(self,dx,dy,xArray,yArray){_refreshID!==lastRefreshID&&updateClamps(),dx&&normalizeScrollX&&scrollFuncX(scrollClampX(xArray[2]===dx?startScrollX+(self.startX-self.x):scrollFuncX()+dx-xArray[1]));if(dy){scrollFuncY.offset&&removeContentOffset();var isTouch=yArray[2]===dy,y=isTouch?startScrollY+self.startY-self.y:scrollFuncY()+dy-yArray[1],yClamped=scrollClampY(y);isTouch&&y!==yClamped&&(startScrollY+=yClamped-y),scrollFuncY(yClamped)}(dy||dx)&&_updateAll()},vars.onEnable=function(){_allowNativePanning(target,normalizeScrollX?!1:"x"),ScrollTrigger$1.addEventListener("refresh",onResize),_addListener$1(_win$1,"resize",onResize),scrollFuncY.smooth&&(scrollFuncY.target.style.scrollBehavior="auto",scrollFuncY.smooth=scrollFuncX.smooth=!1),inputObserver.enable()},vars.onDisable=function(){_allowNativePanning(target,!0),_removeListener$1(_win$1,"resize",onResize),ScrollTrigger$1.removeEventListener("refresh",onResize),inputObserver.kill()},vars.lockAxis=vars.lockAxis!==!1,self=new Observer(vars),self.iOS=_fixIOSBug,_fixIOSBug&&!scrollFuncY()&&scrollFuncY(1),_fixIOSBug&&gsap$1.ticker.add(_passThrough),onStopDelayedCall=self._dc,tween=gsap$1.to(self,{ease:"power4",paused:!0,inherit:!1,scrollX:normalizeScrollX?"+=0.1":"+=0",scrollY:"+=0.1",modifiers:{scrollY:_interruptionTracker(scrollFuncY,scrollFuncY(),function(){return tween.pause()})},onUpdate:_updateAll,onComplete:onStopDelayedCall.vars.onComplete}),self};ScrollTrigger$1.sort=function(func){return _triggers.sort(func||function(a,b){return(a.vars.refreshPriority||0)*-1e6+a.start-(b.start+(b.vars.refreshPriority||0)*-1e6)})},ScrollTrigger$1.observe=function(vars){return new Observer(vars)},ScrollTrigger$1.normalizeScroll=function(vars){if(typeof vars=="undefined")return _normalizer$1;if(vars===!0&&_normalizer$1)return _normalizer$1.enable();if(vars===!1){_normalizer$1&&_normalizer$1.kill(),_normalizer$1=vars;return}var normalizer=vars instanceof Observer?vars:_getScrollNormalizer(vars);return _normalizer$1&&_normalizer$1.target===normalizer.target&&_normalizer$1.kill(),_isViewport$1(normalizer.target)&&(_normalizer$1=normalizer),normalizer},ScrollTrigger$1.core={_getVelocityProp:_getVelocityProp,_inputObserver:_inputObserver,_scrollers:_scrollers,_proxies:_proxies,bridge:{ss:function ss(){_lastScrollTime||_dispatch("scrollStart"),_lastScrollTime=_getTime$1()},ref:function ref(){return _refreshing}}},_getGSAP$1()&&gsap$1.registerPlugin(ScrollTrigger$1),exports.ScrollTrigger=ScrollTrigger$1,exports.default=ScrollTrigger$1,typeof window=="undefined"||window!==exports?Object.defineProperty(exports,"__esModule",{value:!0}):delete window.default}),function(global,factory){typeof exports=="object"&&typeof module!="undefined"?factory(exports):typeof define=="function"&&define.amd?define(["exports"],factory):(global=global||self,factory(global.window=global.window||{}))}(this,function(exports){"use strict";function transformRawPath(rawPath,a,b,c,d,tx,ty){var j=rawPath.length,segment,l,i,x,y;while(--j>-1){segment=rawPath[j],l=segment.length;for(i=0;i1&&(rx=_sqrt(radiiCheck)*rx,ry=_sqrt(radiiCheck)*ry);var rx_sq=rx*rx,ry_sq=ry*ry,sq=(rx_sq*ry_sq-rx_sq*y1_sq-ry_sq*x1_sq)/(rx_sq*y1_sq+ry_sq*x1_sq);sq<0&&(sq=0);var coef=(largeArcFlag===sweepFlag?-1:1)*_sqrt(sq),cx1=coef*(rx*y1/ry),cy1=coef*-(ry*x1/rx),sx2=(lastX+x)/2,sy2=(lastY+y)/2,cx=sx2+(cosAngle*cx1-sinAngle*cy1),cy=sy2+(sinAngle*cx1+cosAngle*cy1),ux=(x1-cx1)/rx,uy=(y1-cy1)/ry,vx=(-x1-cx1)/rx,vy=(-y1-cy1)/ry,temp=ux*ux+uy*uy,angleStart=(uy<0?-1:1)*Math.acos(ux/_sqrt(temp)),angleExtent=(ux*vy-uy*vx<0?-1:1)*Math.acos((ux*vx+uy*vy)/_sqrt(temp*(vx*vx+vy*vy)));isNaN(angleExtent)&&(angleExtent=PI),!sweepFlag&&angleExtent>0?angleExtent-=TWOPI:sweepFlag&&angleExtent<0&&(angleExtent+=TWOPI),angleStart%=TWOPI,angleExtent%=TWOPI;var segments=Math.ceil(_abs(angleExtent)/(TWOPI/4)),rawPath=[],angleIncrement=angleExtent/segments,controlLength=4/3*_sin(angleIncrement/2)/(1+_cos(angleIncrement/2)),ma=cosAngle*rx,mb=sinAngle*rx,mc=sinAngle*-ry,md=cosAngle*ry,i;for(i=0;i-0.0001?0:n}).match(_svgPathExp)||[],path=[],relativeX=0,relativeY=0,twoThirds=2/3,elements=a.length,points=0,errorMessage="ERROR: malformed path: "+d,i,j,x,y,command,isRelative,segment,startX,startY,difX,difY,beziers,prevCommand,flag1,flag2,line=function line(sx,sy,ex,ey){difX=(ex-sx)/3,difY=(ey-sy)/3,segment.push(sx+difX,sy+difY,ex-difX,ey-difY,ex,ey)};if(!d||!isNaN(a[0])||isNaN(a[1]))return console.log(errorMessage),path;for(i=0;i.5||_abs(relativeY-y)>.5)line(relativeX,relativeY,x,y),command==="L"&&(i+=2);relativeX=x,relativeY=y}else if(command==="A"){flag1=a[i+4],flag2=a[i+5],difX=a[i+6],difY=a[i+7],j=7,flag1.length>1&&(flag1.length<3?(difY=difX,difX=flag2,j--):(difY=flag2,difX=flag1.substr(2),j-=2),flag2=flag1.charAt(1),flag1=flag1.charAt(0)),beziers=arcToSegment(relativeX,relativeY,+a[i+1],+a[i+2],+a[i+3],+flag1,+flag2,(isRelative?relativeX:0)+difX*1,(isRelative?relativeY:0)+difY*1),i+=j;if(beziers)for(j=0;jthreshold*(dx*dx+dy*dy)&&(length=points.length,_bezierToPoints(x1,y1,x12,y12,x123,y123,x1234,y1234,threshold,points,index),_bezierToPoints(x1234,y1234,x234,y234,x34,y34,x4,y4,threshold,points,index+1+(points.length-length))),points},CustomEase=function(){function CustomEase(id,data,config){_coreInitted||_initCore(),this.id=id,this.setData(data,config)}var _proto=CustomEase.prototype;return _proto.setData=function setData(data,config){config=config||{},data=data||"0,0,1,1";var values=data.match(_numExp),closest=1,points=[],lookup=[],precision=config.precision||1,fast=precision<=1,l,a1,a2,i,inc,j,point,prevPoint,p;this.data=data;if(_needsParsingExp.test(data)||~data.indexOf("M")&&data.indexOf("C")<0)values=stringToRawPath(data)[0];l=values.length;if(l===4)values.unshift(0,0),values.push(1,1),l=8;else if((l-2)%6)throw"Invalid CustomEase";(+values[0]!==0||+values[l-2]!==1)&&_normalize(values,config.height,config.originY),this.segment=values;for(i=2;iprevPoint.x||prevPoint.y!==point.y&&prevPoint.x===point.x||point===prevPoint)&&point.x<=1?(prevPoint.cx=point.x-prevPoint.x,prevPoint.cy=point.y-prevPoint.y,prevPoint.n=point,prevPoint.nx=point.x,fast&&i>1&&Math.abs(prevPoint.cy/prevPoint.cx-points[i-2].cy/points[i-2].cx)>2&&(fast=0),prevPoint.cxthreshold||i===precision-1)a.push(prevX,prevY),slope=(ty-prevY)/(tx-prevX);prevX=tx,prevY=ty}a="M"+a.join(",")}return e&&e.setAttribute("d",a),a},CustomEase}();CustomEase.version="3.12.7",CustomEase.headless=!0,_getGSAP()&&gsap.registerPlugin(CustomEase),exports.CustomEase=CustomEase,exports.default=CustomEase,Object.defineProperty(exports,"__esModule",{value:!0})})